import Vue from "vue";
import App from "./App.vue";
import ElementUI from "element-ui";
import "element-ui/lib/theme-chalk/index.css";
import router from "./router"; // 导入路由
import axios from "axios";

Vue.config.productionTip = false;
Vue.use(ElementUI);

// 将 Axios 挂载到 Vue 原型上
Vue.prototype.$http = axios;

new Vue({
  render: (h) => h(App),
  router,
}).$mount("#app");

// 创建 Axios 实例
const instance = axios.create({
  baseURL: "http://localhost", // 设置你的 API 基础 URL
});

// 添加请求拦截器
instance.interceptors.request.use(
  (config) => {
    const token = localStorage.getItem("jwtToken"); // 从 localStorage 中获取 JWT
    if (token) {
      config.headers.Authorization = `Bearer ${token}`; // 将 JWT 添加到请求头中
    }
    return config; // 返回配置以继续请求
  },
  (error) => {
    return Promise.reject(error); // 处理请求错误
  }
);

export default instance; // 导出 Axios 实例
